Change-Enabled Software Systems
نویسندگان
چکیده
Few real software systems are built completely from scratch nowadays. Instead, systems are built iteratively and incrementally, while integrating and interacting with components from many other systems. Adaptation, reconfiguration and evolution are normal, ongoing processes throughout the lifecycle of a software system. Nevertheless the platforms, tools and environments we use to develop software are still largely based on an outmoded model that presupposes that software systems are closed and will not significantly evolve after deployment. We claim that in order to enable effective and graceful evolution of modern software systems, we must make these systems more amenable to change by (i) providing explicit, first-class models of software artifacts, change, and history at the level of the platform, (ii) continuously analysing static and dynamic evolution to track emergent properties, and (iii) closing the gap between the domain model and the developers’ view of the evolving system. We outline our vision of dynamic, evolving software systems and identify the research challenges to realizing this vision.
منابع مشابه
Lessons in Software Evolution Learned by Listening to Smalltalk
The biggest challenge facing software developers today is how to gracefully evolve complex software systems in the face of changing requirements. We clearly need software systems to be more dynamic, compositional and model-centric, but instead we continue to build systems that are static, baroque and inflexible. How can we better build change-enabled systems in the future? To answer this questi...
متن کاملData Integration Through Service-Based Mediation for Web-Enabled Information Systems
The Web and its underlying platform technologies have often been used to integrate existing software and information systems. Traditional techniques for data representation and transformations between documents are not sufficient to support a flexible and maintainable data integration solution that meets the requirements of modern complex Web-enabled software and information systems. The diffic...
متن کاملAgile Software Engineering and Systems Engineering at SKA Scale
Systems Engineering (SE) is the set of processes and documentation required for successfully realising large-scale engineering projects, but the classical approach is not a good fit for software-intensive projects, especially when the needs of the different stakeholders are not fully known from the beginning, and requirement priorities might change. The SKA is the ultimate software-enabled tele...
متن کاملEnterprise System Implementation and Employee Job Performance: Understanding the Role of Advice Networks
The implementation of enterprise systems, such as modules of enterprise resource planning (ERP) systems, alters business processes and associated workflows, and introduces new software applications that employees must use. Employees frequently find such technology-enabled organizational change to be a major challenge. While many challenges related to such changes have been discussed in prior wo...
متن کاملSoftware Patterns for Traceability of Requirements to Finite State Machine Behavior
This paper describes a software design pattern (e.g., hierarchical graphs of modelview-controllers) and models of visualization for ontology-enabled traceability, where requirements are traced to elements of finite-state machine behavior (e.g., actions, states, transitions and guard conditions). These ontology-enabled traceability mechanisms will play an important role in the team-based develop...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008